package br.com.friendzone.modelo.pessoa;

import java.io.Serializable;
import java.util.Date;

import br.com.friendzone.annotations.Chave;
import br.com.friendzone.annotations.Coluna;
import br.com.friendzone.annotations.Enumerados;
import br.com.friendzone.annotations.Id;
import br.com.friendzone.modelo.enums.EnumSituacao;
import br.com.friendzone.modelo.enums.EnumStatusPessoa;
import br.com.friendzone.modelo.pessoa.enums.EnumGeneroPessoa;
import br.com.friendzone.modelo.util.SolrEntity;

@Chave(nome = "pessoa")
public class Pessoa extends SolrEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	private String confirmacaoEmail;

	@Coluna(nome = "dataCadastroPessoa")
	private Date dataCadastro;

	@Coluna(nome = "dataNascimentoPessoa")
	private Date dataNascimento;

	@Coluna(nome = "descricaoEmailPessoa")
	private String descricaoEmail;

	@Id(nome = "idPessoa", nomeSequence="")
	private String id;

	@Coluna(nome = "nomePessoa")
	private String nome;

	@Coluna(nome = "senhaPessoa")
	private String senhaPessoa;

	@Enumerados(nome = "sexoPessoa")
	private EnumGeneroPessoa sexo;

	@Enumerados(nome = "situacaoPessoa")
	private EnumSituacao situacaoPessoa;

	@Enumerados(nome = "statusPessoa")
	private EnumStatusPessoa status;

	public String getConfirmacaoEmail() {
		return confirmacaoEmail;
	}

	public Date getDataCadastro() {
		return dataCadastro;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public String getDescricaoEmail() {
		return descricaoEmail;
	}

	public String getId() {
		return id;
	}

	public String getNome() {
		return nome;
	}

	public String getSenhaPessoa() {
		return senhaPessoa;
	}

	public EnumGeneroPessoa getSexo() {
		return sexo;
	}

	public EnumSituacao getSituacaoPessoa() {
		return situacaoPessoa;
	}

	public EnumStatusPessoa getStatus() {
		return status;
	}

	public void setConfirmacaoEmail(String confirmacaoEmail) {
		this.confirmacaoEmail = confirmacaoEmail;
	}

	public void setDataCadastro(Date dataCadastro) {
		this.dataCadastro = dataCadastro;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}

	public void setDescricaoEmail(String descricaoEmail) {
		this.descricaoEmail = descricaoEmail;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setSenhaPessoa(String senhaPessoa) {
		this.senhaPessoa = senhaPessoa;
	}

	public void setSexo(EnumGeneroPessoa sexo) {
		this.sexo = sexo;
	}

	public void setSituacaoPessoa(EnumSituacao situacaoPessoa) {
		this.situacaoPessoa = situacaoPessoa;
	}

	public void setStatus(EnumStatusPessoa status) {
		this.status = status;
	}

}